# coding=utf-8
# 代码文件：chapter6/ch6.2.4.py

import matplotlib.pyplot as plt
import pandas as pd

plt.rcParams['font.family'] = ['Microsoft YaHei']   # 设置中文字体
plt.rcParams['font.size'] = 14                      # 设置字号

plt.rcParams['axes.unicode_minus'] = False          # 设置负号显示
plt.figure(figsize=(10, 5))                         # 设置图表大小

f = r'data\北京房价数据.xlsx'
df = pd.read_excel(f)

df = df.rename(
    columns={'单价（元）': 'price'})

df2 = df.query("price >= 50000")
datas = []
datas.append(len(df2))
print('<=5万数量：', len(df2))

df2 = df.query("price >= 40000 and price < 50000")
print('4万~5万"数量：', len(df2))
datas.append(len(df2))

df2 = df.query("price >= 30000 and price < 40000")
print('3~4万"数量：', len(df2))
datas.append(len(df2))

df2 = df.query("price >= 20000 and price < 30000")
print('2万~3万"数量：', len(df2))
datas.append(len(df2))

df2 = df.query("price >= 10000 and price < 20000")
print('1万~2万"数量：', len(df2))
datas.append(len(df2))
df2 = df.query("price <= 10000")
print('<=1万"数量：', len(df2))
datas.append(len(df2))

labels = []
labels.append('>=5万')
labels.append('4~5万')
labels.append('3~4万')
labels.append('2万~3万')
labels.append('1万~2万')
labels.append('<=1万')

explode = (0.2, 0.1, 0.1, 0.1, 0.2, 0.1)

g = plt.pie(datas, labels=labels, explode=explode,
            autopct='%.1f%%', startangle=3)

plt.title('北京房价区间占比饼状图')
plt.show()
